﻿using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace W.M.Materiel.Application.DTO
{
    public class Bom_management_tableDTO
    {
        /// <summary>
        /// BOM编号
        /// </summary>
        public string bom_number { get; set; }

        /// <summary>
        /// BOM主题
        /// </summary>
        public string? bom_topic { get; set; }

        /// <summary>
        /// 版本号
        /// </summary>
        public string? version_number { get; set; }

        /// <summary>
        /// 成品编号
        /// </summary>
        public string? finished_number { get; set; }

        /// <summary>
        /// 成品名称
        /// </summary>
        public string? name_finished_product { get; set; }

        /// <summary>
        /// 默认BOM
        /// </summary>
        public bool default_bom { get; set; }

        /// <summary>
        /// 日产量
        /// </summary>
        public int daily_output { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? remark { get; set; }

        /// <summary>
        /// 配件数量
        /// </summary>

        public int number_parts { get; set; }

        /// <summary>
        /// 损耗率
        /// </summary>

        public decimal attrition_rate { get; set; }

        ///// <summary>
        ///// 规格型号
        ///// </summary>
        //[SugarColumn(ColumnDescription = "规格型号", Length = 200)]
        //public string? specification_and_model { get; set; }

        /// <summary>
        /// 成品类型
        /// </summary>
        [SugarColumn(ColumnDescription = "成品类型", Length = 200)]
        public string? type_finished_product { get; set; }

        ///// <summary>
        ///// 单位
        ///// </summary>
        //[SugarColumn(ColumnDescription = "单位", Length = 200)]
        //public string? unit { get; set; }

        /// <summary>
        /// 产品编号
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, ColumnDescription = "产品编号")]
        public string? product_number { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "产品名称")]
        public string? product_name { get; set; }

        /// <summary>
        /// 规格型号
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "规格型号")]
        public string? specification_model { get; set; }

        /// <summary>
        /// 单位ID
        /// </summary>
        [SugarColumn(ColumnDescription = "单位ID")]
        public int unit_id { get; set; }

        /// <summary>
        /// 产品分类ID
        /// </summary>
        [SugarColumn(ColumnDescription = "产品分类ID")]
        public int product_classification_id { get; set; }

        /// <summary>
        /// 产品属性ID
        /// </summary>
        [SugarColumn(ColumnDescription = "产品属性ID")]
        public int product_attribute_id { get; set; }

        /// <summary>
        /// 销售单价
        /// </summary>
        [SugarColumn(ColumnDescription = "销售单价")]
        public decimal unit_sales_price { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        [SugarColumn(ColumnDescription = "状态")]
        public bool status { get; set; }

        /// <summary>
        /// 品牌
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "品牌")]
        public string? brand { get; set; }

        /// <summary>
        /// 最大库存量
        /// </summary>
        [SugarColumn(ColumnDescription = "最大库存量")]
        public int maximum_inventory { get; set; }

        /// <summary>
        /// 最小库存量
        /// </summary>
        [SugarColumn(ColumnDescription = "最小库存量")]
        public int minimum_inventory { get; set; }

        /// <summary>
        /// 产品有效期
        /// </summary>
        [SugarColumn(ColumnDescription = "产品有效期")]
        public DateTime? product_expiration_date { get; set; }

        /// <summary>
        /// 报警天数
        /// </summary>
        [SugarColumn(ColumnDescription = "报警天数")]
        public int alarm_days { get; set; }

        /// <summary>
        /// 售价编号
        /// </summary>
        [SugarColumn(ColumnDescription = "售价编号")]
        public int selling_number { get; set; }

        /// <summary>
        /// 包装要求
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "包装要求")]
        public string? packing_requirement { get; set; }

        /// <summary>
        /// 纸箱尺寸
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "纸箱尺寸")]
        public string? carton_size { get; set; }

        /// <summary>
        /// 包装方式
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "包装方式")]
        public string? packing_method { get; set; }

        /// <summary>
        /// 辅助单位
        /// </summary>
        [SugarColumn(ColumnDescription = "辅助单位")]
        public int auxiliary_unit { get; set; }

        /// <summary>
        /// 图片
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "图片")]
        public string? picture { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [SugarColumn(Length = 200, ColumnDescription = "附件")]
        public string? attachments { get; set; }
    }
}
